home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.GridLayout;
- import java.awt.Label;
- import java.awt.Panel;
- import java.awt.TextComponent;
- import java.awt.TextField;
- import java.awt.Window;
-
- public class ColorPanel extends Frame {
- ColorTester tester;
- float[] rgb = new float[3];
- float val;
- TextField a_txt;
- TextField s_txt;
- TextField t_txt;
- TextField dc_txt_r;
- TextField dc_txt_g;
- TextField dc_txt_b;
- TextField ec_txt_r;
- TextField ec_txt_g;
- TextField ec_txt_b;
- TextField sc_txt_r;
- TextField sc_txt_g;
- TextField sc_txt_b;
- Panel a_panel = new Panel();
- Panel dc_panel;
- Panel ec_panel;
- Panel s_panel;
- Panel sc_panel;
- Panel t_panel;
-
- ColorPanel(ColorTester var1) {
- super("ColorPanel");
- this.a_panel.setLayout(new FlowLayout());
- this.a_txt = new TextField(10);
- this.a_panel.add(new Label("amibientIntensity"));
- this.a_panel.add(this.a_txt);
- this.dc_panel = new Panel();
- this.dc_panel.setLayout(new FlowLayout());
- this.dc_txt_r = new TextField(10);
- this.dc_txt_g = new TextField(10);
- this.dc_txt_b = new TextField(10);
- this.dc_panel.add(new Label("diffuseColor"));
- this.dc_panel.add(this.dc_txt_r);
- this.dc_panel.add(this.dc_txt_g);
- this.dc_panel.add(this.dc_txt_b);
- this.ec_panel = new Panel();
- this.ec_panel.setLayout(new FlowLayout());
- this.ec_txt_r = new TextField(10);
- this.ec_txt_g = new TextField(10);
- this.ec_txt_b = new TextField(10);
- this.ec_panel.add(new Label("emissiveColor"));
- this.ec_panel.add(this.ec_txt_r);
- this.ec_panel.add(this.ec_txt_g);
- this.ec_panel.add(this.ec_txt_b);
- this.s_panel = new Panel();
- this.s_panel.setLayout(new FlowLayout());
- this.s_txt = new TextField(10);
- this.s_panel.add(new Label("shininess"));
- this.s_panel.add(this.s_txt);
- this.sc_panel = new Panel();
- this.sc_panel.setLayout(new FlowLayout());
- this.sc_txt_r = new TextField(10);
- this.sc_txt_g = new TextField(10);
- this.sc_txt_b = new TextField(10);
- this.sc_panel.add(new Label("specularColor"));
- this.sc_panel.add(this.sc_txt_r);
- this.sc_panel.add(this.sc_txt_g);
- this.sc_panel.add(this.sc_txt_b);
- this.t_panel = new Panel();
- this.t_panel.setLayout(new FlowLayout());
- this.t_txt = new TextField(10);
- this.t_panel.add(new Label("transparency"));
- this.t_panel.add(this.t_txt);
- ((Container)this).setLayout(new GridLayout(6, 1, 1, 1));
- ((Container)this).add(this.a_panel);
- ((Container)this).add(this.dc_panel);
- ((Container)this).add(this.ec_panel);
- ((Container)this).add(this.s_panel);
- ((Container)this).add(this.sc_panel);
- ((Container)this).add(this.t_panel);
- ((Window)this).pack();
- this.tester = var1;
- }
-
- public void map() {
- this.a_txt.setText("" + this.tester.get_ambientIntensity());
- this.get_diffuseColor();
- this.get_emissiveColor();
- this.s_txt.setText("" + this.tester.get_shininess());
- this.get_specularColor();
- this.t_txt.setText("" + this.tester.get_transparency());
- ((Window)this).show();
- }
-
- public boolean action(Event var1, Object var2) {
- if (var1.id == 1001) {
- if (this.a_txt == var1.target) {
- this.set_ambientIntensity();
- } else if (this.dc_txt_r != var1.target && this.dc_txt_g != var1.target && this.dc_txt_b != var1.target) {
- if (this.ec_txt_r != var1.target && this.ec_txt_g != var1.target && this.ec_txt_b != var1.target) {
- if (this.s_txt == var1.target) {
- this.set_shininess();
- } else if (this.sc_txt_r != var1.target && this.sc_txt_g != var1.target && this.sc_txt_b != var1.target) {
- if (this.t_txt == var1.target) {
- this.set_transparency();
- }
- } else {
- this.set_specularColor();
- }
- } else {
- this.set_emissiveColor();
- }
- } else {
- this.set_diffuseColor();
- }
- }
-
- return true;
- }
-
- void set_rgb(float[] var1, TextField var2, TextField var3, TextField var4) {
- ((TextComponent)var2).setText("" + var1[0]);
- ((TextComponent)var3).setText("" + var1[1]);
- ((TextComponent)var4).setText("" + var1[2]);
- }
-
- void get_rgb(TextField var1, TextField var2, TextField var3, float[] var4) {
- var4[0] = (float)Float.valueOf(((TextComponent)var1).getText()).doubleValue();
- var4[1] = (float)Float.valueOf(((TextComponent)var2).getText()).doubleValue();
- var4[2] = (float)Float.valueOf(((TextComponent)var3).getText()).doubleValue();
- }
-
- void set_ambientIntensity() {
- this.val = (float)Float.valueOf(this.a_txt.getText()).doubleValue();
- this.tester.set_ambientIntensity(this.val);
- }
-
- void set_diffuseColor() {
- this.get_rgb(this.dc_txt_r, this.dc_txt_g, this.dc_txt_b, this.rgb);
- this.tester.set_diffuseColor(this.rgb);
- }
-
- void set_emissiveColor() {
- this.get_rgb(this.ec_txt_r, this.ec_txt_g, this.ec_txt_b, this.rgb);
- this.tester.set_emissiveColor(this.rgb);
- }
-
- void set_shininess() {
- this.val = (float)Float.valueOf(this.s_txt.getText()).doubleValue();
- this.tester.set_shininess(this.val);
- }
-
- void set_specularColor() {
- this.get_rgb(this.sc_txt_r, this.sc_txt_g, this.sc_txt_b, this.rgb);
- this.tester.set_specularColor(this.rgb);
- }
-
- void set_transparency() {
- this.val = (float)Float.valueOf(this.t_txt.getText()).doubleValue();
- this.tester.set_transparency(this.val);
- }
-
- public void get_diffuseColor() {
- this.tester.get_diffuseColor(this.rgb);
- this.set_rgb(this.rgb, this.dc_txt_r, this.dc_txt_g, this.dc_txt_b);
- }
-
- void get_emissiveColor() {
- this.tester.get_emissiveColor(this.rgb);
- this.set_rgb(this.rgb, this.ec_txt_r, this.ec_txt_g, this.ec_txt_b);
- }
-
- void get_specularColor() {
- this.tester.get_specularColor(this.rgb);
- this.set_rgb(this.rgb, this.sc_txt_r, this.sc_txt_g, this.sc_txt_b);
- }
- }
-